package ch12;

import java.io.File;

public class FileDome {

	public static void main(String[] args) {
		//使用File类定位一个系统文件
		//1.方法1-使用绝对路径定位
		//全目录（文件目录）
		String fileName = "D:\\java11workspace\\corejava\\src\\ch10\\test\\BankDepositor.java";
		//文件（文件的全地址）
	    fileName = "D:\\java11workspace\\corejava\\src\\ch10\\test";
		//相对路劲：相对于主类的执行地址，参考地址是main方法所在的类的地址
	    //相对路径地址要以程序所在的地址座位参考，这个地址要排除package的名称com\neuedu\corejava\ch12
	    //D:\java11workspace\corejava\src\ch12\FileDome.java
	    //D:\java11workspace\corejava + "docs\\jdbc.sql"
		//fileName = "docs\\jdbc.sql";
		
		//2.方法2-使用相对路径定位
		File file = new File(fileName);
		//通过java.io.File判断文件或目录是否存在
		if(file.exists()) {
			System.out.println("文件存在");
			//文件的绝对路径:返回磁盘根目录下的完整地址
			System.out.println(file.getAbsolutePath()); 
			System.out.println("执行"+file.canExecute()+"读取内容:"+file.canRead()+"写入内容："+file.canWrite());
			System.out.println("getName:"+file.getName());//获取的文件或目录名称
			System.out.println("getParent:"+file.getParent());//文件的相对路径的父地址
			System.out.println("getPath:"+file.getPath());//文件的相对路径地址
		}
		
		//3.方法3-把文件名与目录名分开，在一个目录下有多个文件需要进行操作
		
		String path = "D:\\java11workspace\\corejava\\src\\ch10\\test";
		String fName = "BankDepositor.java";
		File file2 = new File(path,fName);
		
		if(file2.exists()) {
			System.out.println("文件存在");
			System.out.println(file2.getAbsolutePath()); 
			System.out.println("执行"+file2.canExecute()+"读取内容:"+file2.canRead()+"写入内容："+file2.canWrite());
			System.out.println("getName:"+file2.getName());//获取的文件或目录名称
			System.out.println("getParent:"+file2.getParent());//文件的相对路径的父地址
			System.out.println("getPath:"+file2.getPath());//文件的相对路径地址
			
		}else {
			System.out.println("文件不存在");
		}
		
		// 4.方法4 - 把文件名与目录名分开(并用File对象进行保存)，在一个目录下有多个文件需要进行操作时
		File  filePath = new File("D:\\java11workspace\\corejava\\src\\ch10\\test");
		fName = "BankDepositor.java";
		File file3 = new File(filePath, fName);
		if (file3.exists()) {
			System.out.println("文件存在");
			System.out.println("绝对路径：" + file3.getAbsolutePath());
			System.out.println("getName: " + file3.getName());// 获取的文件或目录名称
			System.out.println("getParent:" + file3.getParent());// 文件的相对路径的父地址
			System.out.println("getPath: " + file3.getPath());// 文件的相对路径的地址
		} else {
			System.out.println("文件不存在");
		}
	}

}
